<!doctype html>

<!--

    Welcome to the light side of the source, young padawan.

    One step closer to learn something interesting you are...

                               ____                  
                            _.' :  `._               
                        .-.'`.  ;   .'`.-.           
               __      / : ___\ ;  /___ ; \      __  
             ,'_ ""=-.:__;".-.";: :".-.":__;.-="" _`,
             :' `.t""=-.. '<@.`;_  ',@:` ..-=""j.' `;
                  `:-.._J '-.-'L__ `-.-' L_..-;'     
                    "-.__ ;  .-"  "-.  : __.-"       
                        L ' /.======.\ ' J           
                         "-.   "__"   .-"            
                        __.l"-:_JL_;-";.__           
                     .-j/'.;  ;""""  / .'\"-.        
                   .' /:`. "-.:     .-" .';  `.      
                .-"  / ;  "-. "-..-" .-"  :    "-.   
             .+"-.  : :      "-.__.-"      ;-._   \  
             ; \  `.; ;                    : : "+. ; 
             :  ;   ; ;                    : ;  : \: 
             ;  :   ; :                    ;:   ;  : 
            : \  ;  :  ;                  : ;  /  :: 
            ;  ; :   ; :                  ;   :   ;: 
            :  :  ;  :  ;                : :  ;  : ; 
            ;\    :   ; :                ; ;     ; ; 
            : `."-;   :  ;              :  ;    /  ; 
             ;    -:   ; :              ;  : .-"   : 
             :\     \  :  ;            : \.-"      : 
              ;`.    \  ; :            ;.'_..-=  / ; 
              :  "-.  "-:  ;          :/."      .'  :
               \         \ :          ;/  __        :
                \       .-`.\        /t-""  ":-+.   :
                 `.  .-"    `l    __/ /`. :  ; ; \  ;
                   \   .-" .-"-.-"  .' .'j \  /   ;/ 
                    \ / .-"   /.     .'.' ;_:'    ;  
                     :-""-.`./-.'     /    `.___.'   
                           \ `t  ._  /               
                            "-.t-._:'                

-->

<!--
    
    So you'd like to know how to use impress.js?
    
    You've made the first, very important step - you're reading the source code.
    And that's how impress.js presentations are built - with HTML and CSS code.
    
    Believe me, you need quite decent HTML and CSS skills to be able to use impress.js effectively.
    And what is even more important, you need to be a designer, too, because there are no default
    styles for impress.js presentations, there is no default or automatic layout for them.
    
    You need to design and build it by hand.
    
    So...
    
    Would you still like to know how to use impress.js?
    
-->

<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=1024" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
	<title>Lab 19 Juin (1)</title>
    
    <meta name="description" content="impress.js is a presentation tool based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com." />
    <meta name="author" content="Bartek Szopka" />

    <link href="http://fonts.googleapis.com/css?family=Open+Sans:regular,semibold,italic,italicsemibold|PT+Sans:400,700,400italic,700italic|PT+Serif:400,700,400italic,700italic" rel="stylesheet" />

    <link href="media/css/impress-demo.css" rel="stylesheet" />
    
    <link rel="shortcut icon" href="favicon.png" />
    <link rel="apple-touch-icon" href="apple-touch-icon.png" />
</head>

<body class="impress-not-supported">

<!--
    For example this fallback message is only visible when there is `impress-not-supported` class on body.
-->
<div class="fallback-message">
    <p>Your browser <b>doesn't support the features required</b> by impress.js, so you are presented with a simplified version of this presentation.</p>
    <p>For the best experience please use the latest <b>Chrome</b>, <b>Safari</b> or <b>Firefox</b> browser.</p>
</div>

<div id="impress">

  
    <div id="bored" class="step slide" data-x="-1000" data-y="-1500" style="text-align:center">
		<img src="media/images/slides/stevejobsnb.jpg" height="90%"/><br/>
		"I hate the way people used slide presentations"
    </div>

    <div class="step slide" data-x="0" data-y="-1500">
		<img src="media/images/slides/IE.jpg" height="90%"/><br/>
    </div>

    <div class="step slide" data-x="1000" data-y="-1500">
        Prêt à faire passer vos présentations dans une nouvelle dimension ?</q>
    </div>

    <!--
        
        This is an example of step element being scaled.
        
        Again, we use a `data-` attribute, this time it's `data-scale="4"`, so it means that this
        element will be 4 times larger than the others.
        From presentation and transitions point of view it means, that it will have to be scaled
        down (4 times) to make it back to it's correct size.
        
    -->
    <div id="title" class="step" data-x="0" data-y="400" data-scale="4" style="text-align:center">
        <span class="try">Alors faîtes le en: </span><br/>
		<img src="media/images/slides/HTML5_Logo_512.png"/><br/>
    </div>

    <!--
        
        This element introduces rotation.
        
        Notation shouldn't be a surprise. We use `data-rotate="90"` attribute, meaning that this
        element should be rotated by 90 degrees clockwise.
        
    -->
    <div id="ing" class="step" data-x="850" data-y="3000" data-rotate="90" data-scale="5">
        <p>Cette <strong>présentation</strong> <br/>
        utilisera la puissance des <b class="positioning">CSS3 tranforms </b>,
		<b class="rotating"> CSS3 transitions.</b>  et autres fontionnalités du <b class="scaling">HTML5.</b>
		</p> 
    </div>

	<div id="its-in-3d" class="step" data-x="6200" data-y="4300" data-z="-100" data-rotate-x="-60" data-rotate-y="40" data-scale="2">
		<p><span class="have">...Et</span>
				<span class="you">même</span>
			<span class="noticed">de</span>
			<span class="its">la</span> <span class="in"> 3D :-)</span></p>
    </div>

    <!--
        
        And now it gets really exiting! We move into third dimension!
        
        Along with `data-x` and `data-y`, you can define the position on third (Z) axis, with
        `data-z`. In the example below we use `data-z="-3000"` meaning that element should be
        positioned far away from us (by 3000px).
        
    -->

		
	<div id="tiny3" class="step slide moveon" data-x="3000" data-y="3000" data-z="-4000" data-rotate="00" data-scale="1">
		<p>
			<ul>
				<li>- Introduction</li>
				<li>- jQuery Mobile</li>
				<li>- Mobile / Web development Practices</li>
				<li>- Démo & Live Code</li>
			</ul>
		</p>
    </div>
	
	<div id="tiny2" class="step slide moveon" data-x="3000" data-y="3000" data-z="-4000" data-rotate="00" data-scale="1">
		<img src="media/images/slides/bigcomputer.png" height="100%"/><br/>
    </div>

    <div id="tiny2" class="step moveon" data-x="3000" data-y="3000" data-z="-4000" data-rotate="00" data-scale="1">
        <img src="media/images/slides/earth3am.jpg" height="800" /><br/>
    </div>	

	<div id="tiny2" class="step slide moveon" data-x="3000" data-y="3000" data-z="-4000" data-rotate="00" data-scale="1">
        <img src="media/images/slides/googleplex1.jpg"/><br/>
    </div>
	
	<div id="tiny2" class="step slide moveon" data-x="3000" data-y="3000" data-z="-4000" data-rotate="00" data-scale="1">
        2007:<br/>
		<img src="media/images/slides/iphone.png" height="100%"/><br/>
    </div>

	<div id="tiny2" class="step slide moveon" data-x="3000" data-y="3000" data-z="-4000" data-rotate="00" data-scale="1">
        <img src="media/images/slides/developpement-application-iphone-iphone.png" height="100%"/><br/>
		<strong>11*16*12 + 4 - 19 = 2097</strong>
    </div>
	
	<div id="tiny2" class="step moveon" data-x="3000" data-y="3000" data-z="-4000" data-rotate="00" data-scale="1">
        <img src="media/images/slides/earth3am.jpg" height="800" /><br/>
    </div>
    <div id="tiny2" class="step moveon" data-x="3000" data-y="3000" data-z="-4000" data-rotate="00" data-scale="1">
        <img src="media/images/slides/aspirine.jpg"  /><br/>
		<a href="slides2" target="_blank">Changer les animations SVP !</a><br/>
    </div>
	
	
	
	
	
	    <!--
        
        This step here doesn't introduce anything new when it comes to data attributes, but you
        should notice in the demo that some words of this text are being animated.
        It's a very basic CSS transition that is applied to the elements when this step element is
        reached.
        
        At the very beginning of the presentation all step elements are given the class of `future`.
        It means that they haven't been visited yet.
        
        When the presentation moves to given step `future` is changed to `present` class name.
        That's how animation on this step works - text moves when the step has `present` class.
        
        Finally when the step is left the `present` class is removed from the element and `past`
        class is added.
        
        So basically every step element has one of three classes: `future`, `present` and `past`.
        Only one current step has the `present` class.
        

    <div id="ing" class="step" data-x="3500" data-y="-850" data-rotate="270" data-scale="6">
        <p>by <b class="positioning">positioning</b>, <b class="rotating">rotating</b> and <b class="scaling">scaling</b> them on an infinite canvas</p>
    </div>

    <div id="imagination" class="step" data-x="6700" data-y="-300" data-scale="6">
        <p>the only <b>limit</b> is your <b class="imagination">imagination</b></p>
    </div>

    <div id="source" class="step" data-x="6300" data-y="2000" data-rotate="20" data-scale="4">
        <p>want to know more?</p>
        <q><a href="http://github.com/bartaz/impress.js">use the source</a>, Luke!</q>
    </div>

    <div id="one-more-thing" class="step" data-x="6000" data-y="4000" data-scale="2">
        <p>one more thing...</p>
    </div>

    <!--
        
        And the last one shows full power and flexibility of impress.js.
        
        You can not only position element in 3D, but also rotate it around any axis.
        So this one here will get rotated by -40 degrees (40 degrees anticlockwise) around X axis and
        10 degrees (clockwise) around Y axis.
        
        You can of course rotate it around Z axis with `data-rotate-z` - it has exactly the same effect
        as `data-rotate` (these two are basically aliases).
        
    -->


    <div id="overview" class="step" data-x="3000" data-y="1500" data-scale="10">
    </div>

</div>


<div class="hint">
    <p>Use a spacebar or arrow keys to navigate</p>
</div>
<script>
if ("ontouchstart" in document.documentElement) { 
    document.querySelector(".hint").innerHTML = "<p>Tap on the left or right to navigate</p>";
}
</script>

<!--
    
    Last, but not least.
    
    To make all described above really work, you need to include impress.js in the page.
    I strongly encourage to minify it first.
    
    In here I just include full source of the script to make it more readable.
    
    You also need to call a `impress().init()` function to initialize impress.js presentation.
    And you should do it in the end of your document. Not only because it's a good practice, but also
    because it should be done when the whole document is ready.
    Of course you can wrap it in any kind of "DOM ready" event, but I was too lazy to do so ;)
    
-->
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
    $('.moveon').each(function(index) {
      $(this).attr('data-z',  (- (index * 2000) - 3000));
	  $(this).attr('data-rotate', ((index % 2 == 0) ? 0 : 300));
      $(this).attr('id', 'slide-' + index);
    })
    

</script>
<script src="media/js/impress.js"></script>
<script>impress().init();</script>

	

<!--
    
    The `impress()` function also gives you access to the API that controls the presentation.
    
    Just store the result of the call:
    
        var api = impress();
    
    and you will get three functions you can call:
    
        `api.init()` - initializes the presentation,
        `api.next()` - moves to next step of the presentation,
        `api.prev()` - moves to previous step of the presentation,
        `api.goto( idx | id | element, [duration] )` - moves the presentation to the step given by its index number
                id or the DOM element; second parameter can be used to define duration of the transition in ms,
                but it's optional - if not provided default transition duration for the presentation will be used.
    
    You can also simply call `impress()` again to get the API, so `impress().next()` is also allowed.
    Don't worry, it wont initialize the presentation again.
    
    For some example uses of this API check the last part of the source of impress.js where the API
    is used in event handlers.
    
-->

</body>
</html>

